package com.youlu.campus.monitor.service;

import com.youlu.campus.monitor.entity.WechatMonitor;
import com.youlu.campus.monitor.entity.WechatMonitorPageQuery;
import org.springframework.data.domain.Page;

import java.util.List;

;

/**
 * 微信监控业务逻辑层接口
 *
 * @author su
 * @date 2025/09/02
 */
public interface WechatMonitorService {

    /**
     * 新增微信监控记录（对应MongoDB insert操作）
     *
     * @param wechatMonitor 微信监控实体（需包含name、type、activityId等核心字段）
     * @return 新增结果（含新增后的完整实体）
     */
    WechatMonitor saveWechatMonitor(WechatMonitor wechatMonitor);

    /**
     * 根据ID删除微信监控记录
     *
     * @param id 主键ID（对应MongoDB的_id）
     * @return 删除结果（true=成功，false=失败）
     */
    Boolean deleteWechatMonitorById(String id);

    /**
     * 根据ID查询微信监控记录详情
     *
     * @param id 主键ID（对应MongoDB的_id）
     * @return 单条记录详情
     */
    WechatMonitor getWechatMonitorById(String id);

    /**
     * 分页查询微信监控记录列表
     *
     * @param pageQuery
     * @return
     */
    Page<WechatMonitor> findByPage(WechatMonitorPageQuery pageQuery);

    /**
     * 查询所有微信监控记录（非分页，数据量大时慎用）
     *
     * @return 全量记录列表
     */
    List<WechatMonitor> findAll();
}
    